<html lang="en" xml:lang="en"><head>
<META http-equiv="Content-Type" content="text/html">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"><META name="description" content="This topic describes the controller widget."><meta name="content-language" content="en"><link href="rsrc/htmlhelp.css" rel="stylesheet" type="text/css"><title>Web AppBuilder for ArcGIS | Help - 
Create a controller widget</title>
                <script type="text/javascript" language="JavaScript">
                    var pathL  = self.location.pathname.split ("/");
                    var fname = pathL[pathL.length-1];
                    var i = fname.lastIndexOf (".htm");
                    if (i>=0) {
                    fname = fname.substring (0, i)
                    } else {
                    //??
                    }
                    if (self.location.hash) {
				    		      fname = fname + self.location.hash;
						        }
                    self.location.replace ("../index.html#//" + fname);
                </script>
                </head><!--Publication GUID: [GUID-E7D1C130-8F87-4109-8D61-E73A46083F52]--><!--Topic GUID: [GUID-04548E61-D8EC-4547-896A-A73D85E34652]--><body><div id="content"><div class="header"><h1>
Create a controller widget</h1><div id="breadcrumb"></div></div>
<div class="section1" id="GUID-914A68BA-D332-4872-B6C9-6AD3F68D19D9" purpose="section1"><h2></h2><p id="GUID-B8A93946-7AEC-4B3A-84D0-315C90902F1E">
A controller widget is a widget that controls other widgets  in the  widget pool. The HeaderController widget in the FoldableTheme is an example   of  a controller widget. A controller widget is usually added as  part of a theme.
</p><p id="GUID-26768F92-6C83-42FF-A50F-B2F78ED948AD">The controller widget can be created in the same way as other widgets with the following additions:</p><ul purpose="ul" id="UL_631C5E0AE20E41B3A598B1D4322E382F"><li purpose="li" id="LI_A8AFDB7B7FFF4F6EBFAFD7EF39ECF658">Add the <span class="usertext">jimu/PoolControllerMixin</span> class.<p id="GUID-C0F0AD0B-C651-458C-A6BE-824A933DF785">This class provides the following methods:</p><div class="block_table" id="TABLE_2F057F45D87F4C7FAE3225FCD3BA7703" purpose="block_table"><span class="table_title"></span><table class="table"><colgroup width="*"></colgroup><colgroup width="*"></colgroup><tr purpose="thead"><th class="th" purpose="th" rowspan="1" colspan="1"><p id="GUID-0A14CF4E-F98C-44F8-969B-10AA5922E7F7">Method</p></th><th class="th" purpose="th" rowspan="1" colspan="1"><p id="GUID-FC6F037E-8E20-43D3-94E4-E0552203EF3B">Description</p></th></tr><tbody><tr><td purpose="entry" rowspan="1" colspan="1"><p id="GUID-77199D2E-E866-4849-B02C-87CD29F8133E"><span class="usertext">getWidgetConfigs</span></p></td><td purpose="entry" rowspan="1" colspan="1"><p id="GUID-04FE0983-832A-425D-AEBE-1E50F28B03E1"> Returns all the widgets configured in the widget pool and does not include any widgets in the group.</p></td></tr><tr><td purpose="entry" rowspan="1" colspan="1"><p id="GUID-03A3DDD7-37F4-4477-AF2A-22B9B0251863"><span class="usertext"> getGroupConfigs</span></p></td><td purpose="entry" rowspan="1" colspan="1"><p id="GUID-26EED9F3-29EA-45D4-9337-DB7850855F7F"> Returns all the groups configured in the widget pool.</p></td></tr><tr><td purpose="entry" rowspan="1" colspan="1"><p id="GUID-BFD7E97A-7E8C-406E-9C20-81E460CFF881"><span class="usertext"> getAllConfigs</span></p></td><td purpose="entry" rowspan="1" colspan="1"><p id="GUID-0145138F-BBD4-45E5-A070-739B500C8006"> Returns all the groups and widgets configured in the widget pool.</p></td></tr><tr><td purpose="entry" rowspan="1" colspan="1"><p id="GUID-071085F1-D767-4402-8149-7679EE906F52"><span class="usertext"> getConfigById</span></p></td><td purpose="entry" rowspan="1" colspan="1"><p id="GUID-7F6203C9-206B-4092-A5D5-8D32DBDA21D7"> Gets the config section by ID.</p></td></tr></tbody></table><span class="table_desc"></span></div><p id="GUID-CCA24F9A-919E-40A3-8C02-DBA214E17506">In the Builder environment, the class also provides the following methods  to override if needed:<div class="block_table" id="TABLE_B755BB3FBCC941C7A2CFCBB816B22408" purpose="block_table"><span class="table_title"></span><table class="table"><colgroup width="*"></colgroup><colgroup width="*"></colgroup><tr purpose="thead"><th class="th" purpose="th" rowspan="1" colspan="1"><p id="GUID-A1E18BA5-1E6E-45A7-8A83-02393A267C77">Method</p></th><th class="th" purpose="th" rowspan="1" colspan="1"><p id="GUID-CC4062D6-83C0-4744-A9AD-665D06C11A49">Description</p></th></tr><tbody><tr><td purpose="entry" rowspan="1" colspan="1"><p id="GUID-96015E76-2A31-43DC-8F5F-211365F4178E"><span class="usertext"> getOpenedIds</span></p></td><td purpose="entry" rowspan="1" colspan="1"><p id="GUID-8AB5FEB8-7D04-4AE2-A293-FC6B7B5EC6EC"> Returns  IDs for all open widgets and groups.</p></td></tr><tr><td purpose="entry" rowspan="1" colspan="1"><p id="GUID-F8EB50C3-1EB0-452D-873D-89DAE1C1CB59"><span class="usertext"> setOpenedIds</span></p></td><td purpose="entry" rowspan="1" colspan="1"><p id="GUID-3D72D204-A0DD-447A-B387-09E5DB9B9F0C"> Opens the widgets and groups defined by the parameter.</p></td></tr></tbody></table><span class="table_desc"></span></div> </p></li><li purpose="li" id="LI_0A5C5F030F5E45A690A289EA1BC3CA63"> Create a control menu based on the configuration in the widget pool. </li><li purpose="li" id="LI_654E679A28F14F829400097EC660CEBE">Remember, there are two types of widgets: in-panel and off-panel. Be sure to open the widget correctly.</li></ul></div>

<div class="wfsummary" id="GUID-1A19C9BC-80CF-48A5-A5A9-59FE4A0CF1C5" purpose="wfsummary">

</div>
<div class="footer"> Copyright © 1995-2016 Esri. All rights reserved. </div></div></body></html>